perm filename RECON[RST,LCS] blob
sn#240971 filedate 1975-10-16 generic text, type T, neo UTF8
00400 RECON: 0 ; CALL RECON(MM)
00500 SETZ 15, ; S=0
00600 SETZ 14, ;N=0
00700 HRRZI 12,@(16) ; ADDR OF MM(1)
01000 MOVEI 2,1 ;DO 601 K=1,L
01500 RC1: MOVE 3,PX-1(2) ;J=PN(K)
01600 FIXX(3)
02500 MOVEI 4,(3) ;MM(N)=J+3
02600 ADDI 4,3
02700 MOVEM 4,(12)
02800 AOJ 12, ;N=N+1
02900 AOJ 14,
03000 ; POS PTR.
03500 MOVE 5,Q(3) ;R=Q(J+1)
04000 IF(R.GT.4)GO TO 602
04500 P=Q(J+3)
05000 IF(ABS(P-S).LE..5)GO TO 602
05500 S=P
06000 1601 NN(N)=-1
06500 GO TO 601
07000 602 IF(R.EQ.17)GO TO 1601
07500 IF(R.EQ.18)GO TO 1601
08000 NN(N)=0
08500 IF(R.GT.7.AND.R.LT.40)GO TO 601
09000 C NEXT POS2 AND 3 OF CERTAIN IPTEMS
09500 N=N+1
10000 MM(N)=J+6
10500 NN(N)=0
11000 IF(R.NE.6)GO TO 601
11500 C NEXT FOR BEAMS
12000 RZ=Q(J)
12500 IF(RZ.LT.8)GO TO 608
13000 IF(Q(J+10).LT.30)GO TO 608
13500 N=N+1
14000 MM(N)=J+8
14500 NN(N)=0
15000 608 IF(RZ.LT.7)GO TO 601
15500 IF(Q(J+7))GO TO 688
16000 IF(Q(J+8).NE.0)GO TO 688
16500 IF(RZ.LT.8)GO TO 601
17000 IF(Q(J+10).EQ.0)GO TO 601
17500 C FOUND A POS. IN P9
18000 688 N=N+1
18500 MM(N)=J+9
19000 NN(N)=0
19500 601 CONTINUE
20000 C NEXT SORTS THE POINTS
20500 6000 J=1
21000 610 IF(Q(MM(J)).LE.Q(MM(J+1)))GO TO 611
21500 K=MM(J)
22000 MM(J)=MM(J+1)
22500 MM(J+1)=K
23000 K=NN(J)
23500 NN(J)=NN(J+1)
24000 NN(J+1)=K
24500 IF(J.EQ.1)GO TO 611
25000 J=J-1
25500 GO TO 610
26000 611 J=J+1
26500 IF(J.LT.N)GO TO 610
27000 C NOW ALL SORTED
27500 S2=Q(MM(1))
28000 P1=S2
28500 C THE ABOVE 2 CAN GO BELOW 612
29000 J=1
29500 612 IF(NN(J).EQ.0)GO TO 613
30000 6112 M=J+1
30500 S1=S2
31000 616 IF(NN(M))GO TO 614
31500 M=M+1
32000 GO TO 616
32500 C ASSUMES PROPER END OF LIST
33000 614 K=MM(J)
33500 R=Q(K-2)
34000 C THE CODE #
34500 IF(R.NE.1)GO TO 615
35000 P=Q(K+6)
35500 IF(Q(K-3).LT.7)P=1.
36000 C WAS THEPE A RHYTH VALUE
36500 IF(Q(K+5).EQ.1000)P=.05
37000 C GRACE NOTES
37500 GO TO 617
38000 615 IF(R.NE.2)GO TO 618
38500 P=Q(K+4)
39000 IF(Q(K-3).LT.5)P=1
39500 GO TO 617
40000 618 IF(R.EQ.4)P=2.6
40500 IF(R.EQ.3)P=6.5
41000 IF(R.GE.17)P=4.
41500 GO TO 628
42000 617 IF(P.EQ.0)P=1
42500 P=(P+(.125-P)*.7)*RSPC
43000 628 K=MM(M)
43500 S2=Q(K)
44000 P2=P1+P
44500 Q(K)=P2
45000 IF(M-J.EQ.1)GO TO 6113
45500 C NEXT ADJUSTS STUFF IN BETWEEN
46000 R=P/(S2-S1)
46500 DO 620 K=J+1,M-1
47000 LA=MM(K)
47500 620 Q(LA)=P1+R*(Q(LA)-S1)
48000 6113 P1=P2
48500 J=M
49000 IF(J.LT.N)GO TO 6112
49500 613 J=J+1
50000 IF(J.LT.N)GO TO 612
50500 C ALL DONE!